A Computer Program Listing Appendix is filed herewith which comprises one compact disc created from a paper printout of the Computer Program Listing on Jun. 22, 2001. The compact disc contains the files codegen.cc of size 23,723 bytes, corr.cc of size 2,855 bytes, evalcode.cc of size 11,264 bytes, codegen.h of size 276 bytes, and cg.in of size 922 bytes. The Computer Program Listing Appendix is incorporated by reference as if set forth fully herein.
The field of the present invention relates to communications and, more particularly, to an improved preamble code structure and method for code detection for use in a wireless communication system.
Wireless communication systems typically comprise a number of mobile xe2x80x9cuser stationsxe2x80x9d or xe2x80x9chandsetsxe2x80x9d and a number of stationary or fixed xe2x80x9cbase stationsxe2x80x9d which are capable of communicating with each other. The base stations and user stations may communicate using frequency division multiple access (FDMA), wherein transmissions are distinguished by using different assigned frequencies; time division multiple access (TDMA), wherein transmissions are distinguished according to assigned time slots within a time frame; code division multiple access (CDMA), wherein transmissions are distinguished according to different assigned codes; or various combinations thereof.
One type of communication used in wireless applications is spread spectrum communication, wherein the bandwidth of the signal being transmitted generally exceeds the bandwidth required to transmit the data being sent. In spread spectrum communication, a data signal is typically modulated with a pseudo-random chip code to generate a transmitted signal spread over a relatively wide bandwidth. At the receiver the received spread spectrum signal is despread in order to recover the original data. One method of despreading of the spread spectrum signal is by correlating the received signal with a reference code matching the pseudo-noise code used by the transmitter to transmit the data. After initial correlation is achieved, in many systems it is necessary to track the incoming signal so as to maintain synchronization and keep it time-aligned with the local reference code to allow continued despreading of the received signal.
In order to carry out communication between a base station and a user station, a communication link must first be established. In a TDMA system, a communication link may comprise, e.g., a time slot having a forward link portion and a reverse link portion wherein a base station and a user station exchange communications in time division duplex. Establishment of the communication link can be difficult in a spread-spectrum TDMA communication system, due to the length of time that may be required to synchronize the transmitter and the receiver as well as the relative brevity of the time slot within which synchronization can take place.
In order to assist rapid synchronization of communication in spread spectrum and other communication systems, a preamble code preceding an information message may be used. A preamble code may comprise a relatively easily identifiable code sequence that marks the start of the information message and thereby allows the transmitter and receiver to synchronize. The receiver searches for the preamble code and, after locating it, knows when to except the remaining information message and what timing adjustments may need to be made for optimum correlation of the information message.
Use of a preamble code can be particularly advantageous in a TDMA system because of the intermittent nature of the periodic transmissions between a base station and the user stations, which may require re-synchronization each time frame or series of time frames. Because the length of each burst is inherently limited by the duration of a time slot (or time slots), information is transmitted to and from a given user station in a TDMA system periodically over a series of time frames, with the base station and user station typically communicating only once per time frame, during a specified time slot. Due to the periodic nature of TDMA transmissions over a given link, the base station and the user station using the link have to look for the intermittent messages sent to them, which may be separated in time by an entire time frame or even more (e.g., several time frames) in some cases.
The fact that the user stations can be mobile may cause the periodic transmissions to drift within the allocated time slot. In addition, there is the possibility of drift between transmitter and receiver clocks. Thus, the receiver may not know precisely at what point the incoming burst will be received, although in some cases the expected time of arrival may be narrowed down to within a predefined window around the start of the time slot. When the receiver is waiting for its designated message, it may receive extraneous messages from nearby users of the same frequency spectrum or neighboring frequency spectrum, or may otherwise receive interference or noise and mistakenly interpret it as part of the message designated for it. A preamble code helps minimize possible misidentification of noise or interference as a valid message by assisting in the direction of the start of a designated burst. To prevent confusion at the user station, the preamble code for a given user station must be distinguished from the preamble codes as well as any other codes that may be targeted to any other user station (or to the base station) during a time slot when the given user station is to communicate with the base station.
A preamble code may need to be identified rapidly, such as where a time slot is relatively short. This requirements generally suggests the use of short preamble codes. At the same time, a preamble code is preferably resistant to noise, interference and multipath effects, as well as false alarms due to autocorrelation peaks and cross-correlations, so as to ensure the highest probability of proper detection and identification of the preamble code at the receiver. If a preamble code is not properly identified by the receiver, the entire information message for the burst being sent may be lost.
One option to increase likelihood of preamble code detection is to increase the power of the transmitted preamble code over that of the transmit power for the information message, thereby increasing signal-to-noise ratio of the transmitted preamble code. While increasing the transmit power for the preamble code may decrease sensitivity to noise and interference, higher power transmissions for preamble codes may unduly interfere with users of the same or neighboring frequency spectra. Moreover, in certain low power applications (such as various types of handsets), it may not be feasible to increase the transmission power of preamble codes. Even if feasible, increasing the transmit power could cause early depletion of battery charge for some mobile handsets.
Another option is to increase the length of the preamble code so as to provide better discrimination as against noise and other signals. However, merely elongating the preamble code generally leads to more complex synchronization filters and increases the time needed to detect the preamble code.
Accordingly, it would be advantageous to provide a preamble code well suited to a TDMA communication system or other communication system requiring rapid synchronization at the receiver. It would further be advantageous to provide such a preamble code while maintaining a relatively simple synchronization filter structure. It would further be advantageous to provide a preamble code having resistance to noise and interference, without necessarily requiring increased transmission power.
As a further consideration in preamble code design, a preamble code may be used for selection of an antenna channel in a system where antenna diversity is employed. The received signal quality of the preamble code is evaluated for each antenna branch, and the best antenna or set of antennas is selected to receive the information message. Thus, a preamble code is preferably constructed so as to be well suited for use in a system employing antenna diversity, and to allow relatively easy evaluation of received signal quality so as to facilitate antenna selection.
The invention in one aspect comprises a concatenated preamble code structure and means for detecting a concatenated code such as a concatenated preamble code.
In a first embodiment of the invention, a concatenated preamble code is formed by a kronecker product between two subcodes of different lengths. At the receiver a two-stage processor is preferably used to detect the concatenated preamble code. The two-stage processor preferably comprises a series of two correlation filters. A family of concatenated preamble codes may be generated from the kronecker product of a first subcode (such as a Barker code) with each of a plurality of other subcodes, each of these other subcodes preferably having low cross-correlation levels with respect to one another.
In a second embodiment of the invention, a concatenated preamble code is formed by a kronecker product between two subcodes of approximately equal length. The two selected subcodes used to form the concatenated preamble code are preferably short and preferably have relatively low aperiodic auto-correlation responses.
In another aspect of the invention, a plurality of correlation filters including at least one mismatched filter are employed in series for detecting a concatenated code, such as a concatenated preamble code. The mismatched filter is preferably the first in the series of filters and is preferably followed by a single matched filter. Odd length Barker codes may be used to reduce processing gain losses attributed to use of a mismatched filter. Alternatively, to support a modulation format using in-phase (I) and quadrature (Q) baseband components, an even code length may be selected by adding a chip to or truncating a chip from an existing odd code (such as a Gold code or a Kasami code).
In another aspect of the invention, a repeated codeword preamble (RCP) code is formed by transmitting a single short codeword (i.e., subcode) several times in a row. At the receiver a relatively simple matched filter is used to generate a series of spikes separated by the period of the subcode. An alert/confirm detector may be used to non-coherently add together individual correlation spikes and reject false alarms. The alert function preferably measures total correlation energy and adjusts detection thresholds based thereon, while the confirm function preferably ensures that the proper number of correlation spikes exceed a detection threshold at the correct times.
The various preamble code structures and means for detection thereof are disclosed with respect to a preferred TDMA communication system, wherein a plurality of user stations communicate with a base station, one in each time slot (or virtual time slot) in time division duplex.
Other further variations and refinements are also disclosed herein.